package cl.tinet.ejemplos;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.tinet.ejemplos.bean.UsuarioBean;
import com.tinet.ejemplos.bean.UsuarioBeanImpl;

/**
 * 
 * @author Hestor En este servlet se reciben los datos desde index.jsp
 * 
 */

public class Mantenedor extends HttpServlet {

	@EJB(name = "UsuarioBean")
	// instancio a usuariobean, debe ser en el principio del servlet
	UsuarioBean bean;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		String accion = req.getParameter("accion");
		String username = req.getParameter("nombreUser");

		if (accion.equals("modificar")) {

			Usuario user = new Usuario();
			user.setNombreUser(username);

			user = bean.mostrarUsuario(user);

			req.setAttribute("usuario", user);
			req.getRequestDispatcher("/editar.jsp").forward(req, resp);

		} else if(accion.equals("eliminar")) {
			Usuario user = new Usuario();
			user.setNombreUser(username);
			bean.eliminar(user);
			resp.sendRedirect("/ejemplo-maven-multi-web/");
		}

	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {

		PrintWriter out = resp.getWriter();
		HttpSession sesion = req.getSession();

		// Declaracion de variables que reciben los datos de index.jsp
		String nombreuser = req.getParameter("txt_user");
		String nombre = req.getParameter("txt_nombre");
		String apellidoPaterno = req.getParameter("txt_paterno");
		String apellidoMaterno = req.getParameter("txt_materno");
		String password = req.getParameter("txt_pass");
		boolean estado = true;

		String opcion = req.getParameter("txt_opcion");

		Usuario user = new Usuario();// creo un objeto de la clase usuario

		user.setNombreUser(nombreuser);
		user.setNombre(nombre);
		user.setApellidoPaterno(apellidoPaterno);
		user.setApellidoMaterno(apellidoMaterno);
		user.setPass(password);
		user.setEstado(estado);

		if (opcion.equals("agregar")) {
			bean.insertar(user);
			resp.sendRedirect("/ejemplo-maven-multi-web/");

		}

		if (opcion.equals("mostrar")) {

			List<Usuario> lista = bean.mostrarTodo();

			req.setAttribute("usuarios", lista);
			req.getRequestDispatcher("/mostrarUsuarios.jsp").forward(req, resp);
		}
		if (opcion.equals("editar")) {
			bean.editar(user);
			resp.sendRedirect("/ejemplo-maven-multi-web/");
		}

	}

	@Override
	public void init() throws ServletException {
		// TODO Auto-generated method stub
		super.init();
	}
}
